package javase2.day02.demo02;

import java.util.ArrayList;
import java.util.Iterator;

/*
泛型通配符？
    ？代表任意的数据类型
使用方式：
    不能创建对象使用
    只能作为方法的参数使用

 */
public class Demo05Generic {
    public static void main(String[] args) {
        ArrayList<String> list1=new ArrayList<>();
        list1.add("ljh");
        list1.add("lbh");

        ArrayList<Integer> list2=new ArrayList<>();
        list2.add(1);
        list2.add(2);

        printArraayList(list1);
    }
    /*
    定义一个方法，能遍历所有类型的ArrayList集合
    这时候不知道ArrayList集合使用什么数据类型，可以使用泛型通配符？
     */
     public static void printArraayList(ArrayList<?> list){
//        for(Object l : list){
//            System.out.println(l);
//        }

        //或者使用迭代器
         Iterator<?> it = list.iterator();
         while (it.hasNext()){
             Object o = it.next();
             System.out.println(o);
         }

     }

}
